package com.epmis.epmis.Service;

import com.epmis.epmis.pojo.Accessory;
import com.epmis.epmis.pojo.Mission;
import com.github.pagehelper.PageInfo;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

public interface MissionService {
    HashMap<String,Object> getMissionMessage(int id);

    PageInfo<HashMap<String,Object>> getMyPrincipalMissionA(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getMyPrincipalMissionC(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getMyPrincipalMissionS(int pageCode, int pageSize, String id,String content);

    PageInfo<HashMap<String,Object>> getHasMeMissionA(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getHasMeMissionC(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getHasMeMissionS(int pageCode, int pageSize, String id,String content);

    PageInfo<HashMap<String,Object>> getMyCreateMissionA(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getMyCreateMissionC(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getMyCreateMissionS(int pageCode, int pageSize, String id,String content);

    PageInfo<HashMap<String,Object>> getMyDeleteMissionA(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getMyDeleteMissionC(int pageCode, int pageSize, String id);

    PageInfo<HashMap<String,Object>> getMyDeleteMissionS(int pageCode, int pageSize, String id,String content);

    List<HashMap<String, Object>> getSelectSonMission(int id);

    List<HashMap<String, Object>> getSelectRelMission(int id,int enterpriseId);

    List<HashMap<String, Object>> getSelectBeforeMission(int id,int enterpriseId);

    List<HashMap<String, Object>> getSelectAfterMission(int id,int enterpriseId);

    List<HashMap<String,Object>> getMissionByParticipant(int id);

    HashMap<String,Object> getMissionWorkTime(int id);

    int updateSonMission(ArrayList list,int id);

    int updateProspect(int id,double prospect);

    int updateRelMission(ArrayList list,int id);

    int updateBeforeMission(ArrayList list,int id);

    int updateAfterMission(ArrayList list,int id);

    int updateMissionTitle(String title,int id,int userId,int enterpriseId);

    int updateMissionStatus(int status,int id);

    int updateMissionProjectStatus(String status,int id,int userId,int enterpriseId);

    int updateTargetStatus(String status,int id,int userId,int enterpriseId);

    int updateCostStatus(String status,int id,int userId,int enterpriseId);

    int updateMissionPrincipal(int principal_id,int id,int userId,int enterpriseId);

    int updateMissionStart(Date start_date, int id,int userId,int enterpriseId);

    int updateMissionOver(Date over_date,int id,int userId,int enterpriseId);

    int updateMissionPhase(String phase,int id,int userId,int enterpriseId);

    int updateMissionPriority(String priority,int id,int userId,int enterpriseId);

    int updateMissionDescription(String description,int id,int userId,int enterpriseId);

    int updateMissionParticipant(String participant,int id,int userId,int enterpriseId);

    int updateTargetUnit(String unit,int id,int userId,int enterpriseId);

    int updateTargetInitial(String initial_value,int id,int userId,int enterpriseId);

    int updateTargetTarget(String target_value,int id,int userId,int enterpriseId);

    int updateTargetCurrent(String current_value,int id,int userId,int enterpriseId);

    int updateTargetExplain(String explain,int id,int userId,int enterpriseId);

    int updateTargetFeedback(String feedback,int id,int userId,int enterpriseId);

    int updateTargetStandard(String standard,int id,int userId,int enterpriseId);

    int updateCostFinance(String finance,int id,int userId,int enterpriseId);

    int updateCostBudget(double budget,int id,int userId,int enterpriseId);

    int updateCostExecute(double execute,int id,int userId,int enterpriseId);

    int updateCostHappen(Date happen_date,int id,int userId,int enterpriseId);

    int updateCostPay(Date payment_id,int id,int userId,int enterpriseId);

    int updateMissionDelete(int id);

    int updateCostInformation(String information,int id,int userId,int enterpriseId);

    int deleteSonMission(int id);

    int deleteRelMission(int id,int missionId);

    int createWorkTime(HashMap<String,Object> map) throws ParseException;

    int deleteBeforeMission(int id,int missionId);

    int createMissionComment(HashMap<String,Object> map);

    int deleteMissionComment(int id);

    int deleteWorkTime(int id);

    int createMissionFile(HashMap<String, Object> map);

    int deleteMissionFile(int id);

    Accessory getMissionFileById(int fileId);

    int deleteMission(int id);

    int createExamineFile(HashMap<String, Object> map);
}
